class: center, middle, inverse, title-slide # Analyse Territoriale Multiscalaire ## Présentation du package mta et son contexte de production ### Ronan Ysebaert ### Dernière mise à jour: 2021-10-14 --- # Déroulé - Présentation du concept de l'analyse territoriale multiscalaire - Historique des travaux - Arrivée de mta - Cas d'étude --- # Concept --- ## Contexte général .center[ <img src="data:image/png;base64,#figures/concept1.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte général .center[ <img src="data:image/png;base64,#figures/concept2.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte général .center[ <img src="data:image/png;base64,#figures/concept3.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte général .center[ <img src="data:image/png;base64,#figures/concept4.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte territorial .center[ <img src="data:image/png;base64,#figures/concept5.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte territorial .center[ <img src="data:image/png;base64,#figures/concept6.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte territorial .center[ <img src="data:image/png;base64,#figures/concept7.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte spatial .center[ <img src="data:image/png;base64,#figures/concept8.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte spatial .center[ <img src="data:image/png;base64,#figures/concept9.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte spatial .center[ <img src="data:image/png;base64,#figures/concept10.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## 15 ans de recherche interdisciplinaire autour d'HyperAtlas .pull-left[ .medium[ - **1990's** : Travaux de C. Grasland, H. Mathian et J.C François sur la distribution de phénomènes sociaux discrets dans l'espace ([appartenances](http://census.web.ined.fr/debat/Contributions/Avant-Fevrier-1999/Grasland-2.html) et [discontinuités territoriales](https://www.persee.fr/doc/spgeo_0046-2497_1997_num_26_4_1097)). - **2000** Création du groupe de recherche HyperCarte .center[ <img src="data:image/png;base64,#figures/steamer.png" height="40" /><img src="data:image/png;base64,#figures/mescal.png" height="40" /><img src="data:image/png;base64,#figures/geo_cites.png" height="40" /><img src="data:image/png;base64,#figures/riate.png" height="30" /> ] - **2006** : Première version d'HyperAtlas. - **2011** : Seconde version d'HyperAtlas (nouveaux outils statistiques, implémentation de la carte de synthèse - 2 déviations). ] ] .pull-right[ .center[ <img src="data:image/png;base64,#figures/hyperatlas.PNG" width="500" /> .leg-fig[*HyperAtlas v2*] ] ] --- ## 15 ans de recherche interdisciplinaire autour d'HyperAtlas .pull-left[ .medium[ - **1990's** : Travaux de C. Grasland, H. Mathian et J.C François sur la distribution de phénomènes sociaux discrets dans l'espace ([appartenances](http://census.web.ined.fr/debat/Contributions/Avant-Fevrier-1999/Grasland-2.html) et [discontinuités territoriales](https://www.persee.fr/doc/spgeo_0046-2497_1997_num_26_4_1097)). - **2000** Création du groupe de recherche HyperCarte .center[ <img src="data:image/png;base64,#figures/steamer.png" height="40" /><img src="data:image/png;base64,#figures/mescal.png" height="40" /><img src="data:image/png;base64,#figures/geo_cites.png" height="40" /><img src="data:image/png;base64,#figures/riate.png" height="30" /> ] - **2006** : Première version d'HyperAtlas. - **2011** : Seconde version d'HyperAtlas (nouveaux outils statistiques, implémentation de la carte de synthèse - 2 déviations). - **2015** : Fin du groupe de recherche HyperCarte. Travaux résumés dans un [site Web](http://hypercarte.imag.fr/) (Le Rubrus, 2015). ] ] .pull-right[ .center[ <img src="data:image/png;base64,#figures/hypercarte.PNG" width="500" /> .leg-fig[[*http://hypercarte.imag.fr/*](http://hypercarte.imag.fr/, le site Web du groupe de recherche) ] ] ] --- ## 15 ans de recherche interdisciplinaire autour d'HyperAtlas .pull-left[ .medium[ - **1990's** : Travaux de C. Grasland, H. Mathian et J.C François sur la distribution de phénomènes sociaux discrets dans l'espace ([appartenances](http://census.web.ined.fr/debat/Contributions/Avant-Fevrier-1999/Grasland-2.html) et [discontinuités territoriales](https://www.persee.fr/doc/spgeo_0046-2497_1997_num_26_4_1097)). - **2000** Création du groupe de recherche HyperCarte .center[ <img src="data:image/png;base64,#figures/steamer.png" height="40" /><img src="data:image/png;base64,#figures/mescal.png" height="40" /><img src="data:image/png;base64,#figures/geo_cites.png" height="40" /><img src="data:image/png;base64,#figures/riate.png" height="30" /> ] - **2006** : Première version d'HyperAtlas. - **2011** : Seconde version d'HyperAtlas (nouveaux outils statistiques, implémentation de la carte de synthèse - 2 déviations). - **2015** : Fin du groupe de recherche HyperCarte. Travaux résumés dans un [site Web](http://hypercarte.imag.fr/) (Le Rubrus, 2015). - **2021** : [ESPON HyperAtlas 3.0](https://www.espon.eu/HyperAtlas-3.0) (ÖIR) : nouveau design, connexion à la base de données ESPON... ] ] .pull-right[ .center[ <img src="data:image/png;base64,#figures/hyperatlas3.PNG" width="500" /> .leg-fig[[*Tools and maps / HyperAtlas 3.0 - User Manual, draft*]https://www.espon.eu/sites/default/files/attachments/D3_Draft-User-Manual_11.pdf) ] ] ] --- ## Implémentations .pull-left[ - Contexte transnational / européen : ESPON, [Nordregio](https://www.diva-portal.org/smash/get/diva2:700421/FULLTEXT01.pdf) - Enseignement des disparités socio-spatiales au sein de l'UE en première. ] .pull-right[ ] --- ## Retour sur expérience d'HyperAtlas .pull-left[ - Concept de l'analyse multiscalaire facilement appréhendable par une diversité d'acteurs. Beaucoup de demandes d'implémentation. - Une application clic-bouton mûrement réfléchie (parcours utilisateur). - Un projet interdisciplinaire par essence. ] .pull-right[ - Application vieillissante (ergonomie). - Processus de création d'un .hyp (données d'entrée d'HyperAtlas) assez coûteux. - Une application qui dépend du développement successif de plusieurs ingénieurs (difficile à faire évoluer). - Export vectoriel des cartes et graphiques impossible sous HyperAtlas. ] -- **Nécessité de trouver une alternative pour les travaux et analyses exploratoires à toute personne intéressée par ce cadre conceptuel. --- # MTA --- ## Le package MTA .pull-left[ - **M**ultiscalar **T**erritorial **A**nalysis - Déposé sur le CRAN en mars 2017. - 10 fonctions : `gdev`, `tdev`, `sdev`, `bidev`, `mst`, `mas`, `map_bidev`, `map_mst`, `plot_bidev`, `plot_mst` - Un jeu de données d'exemple (inégalités de revenu sur la Métropole du Grand Paris) - 2 vignettes explicatives (concepts théoriques et application) - version 0.4.0 (dernière mise à jour : octobre 2021) ] .pull-right[ <img src="data:image/png;base64,#figures/mta_package.PNG" width="500" /> ] --- ## Développement .center[ <img src="data:image/png;base64,#figures/deps.png" width=650px /> ] --- # Exemple d'utilisation *Concentration de l'emploi dans la Métropole du Grand Paris* --- .pull-left[ ## Librairies utilisées **MTA** : Calcul des déviations, représentations graphiques de synthèse des déviations. **sf** : Manipulation de données spatiales. **mapsf** : Représentations cartographiques. ```r library(MTA) library(sf) library(mapsf) ``` ] .pull-right[ ## Le jeu de données **Couverture géographique / maille territoriale** : Communes appartenant à une des 22 métropoles françaises (Source [IGN, 2021](https://geoservices.ign.fr/contoursiris) / [INSEE, 2021](https://www.insee.fr/fr/information/2028028)). **Un numérateur** : Emplois au lieu de travail en 2016 (Source : [INSEE, 2021](https://www.insee.fr/fr/statistiques/4171446?sommaire=4171473)) **Un dénominateur** : Actifs de 15 à 64 en 2016, au lieu de résidence (Source : [INSEE, 2021](https://www.insee.fr/fr/statistiques/4228432)) **Une variable d'appartenance** : EPCI (communauté d'agglomération) d'appartenance de la commune (Source : [RIATE, 2021](https://github.com/rysebaert/mta_rzine/blob/main/data/metropoles.xlsx)) ```r # Import des données com <- st_read("data/data.gpkg", layer = "com", quiet = TRUE) epci <- st_read("data/data.gpkg", layer = "epci", quiet = TRUE) # Filtrer sur Paris com <- com[com$LIB_EPCI == "Métropole du Grand Paris",] epci <- epci[epci$LIB_EPCI == "Métropole du Grand Paris",] ``` ] --- ## Le jeu de données ```r head(com) ``` ``` ## Simple feature collection with 6 features and 8 fields ## Geometry type: MULTIPOLYGON ## Dimension: XY ## Bounding box: xmin: 649855.9 ymin: 6859834 xmax: 653707.7 ymax: 6863752 ## Projected CRS: RGF93_Lambert_93 ## INSEE_COM NOM_COM EPCI LIB_EPCI ## 771 75101 Paris 1er Arrondissement 200054781 Métropole du Grand Paris ## 772 75102 Paris 2e Arrondissement 200054781 Métropole du Grand Paris ## 773 75103 Paris 3e Arrondissement 200054781 Métropole du Grand Paris ## 774 75104 Paris 4e Arrondissement 200054781 Métropole du Grand Paris ## 775 75105 Paris 5e Arrondissement 200054781 Métropole du Grand Paris ## 776 75106 Paris 6e Arrondissement 200054781 Métropole du Grand Paris ## EPCI_SUB LIB_EPCI_SUB P16_EMPLT C16_ACTOCC1564 ## 771 T1 Paris 61213.89 8061.414 ## 772 T1 Paris 61152.99 11953.851 ## 773 T1 Paris 31460.89 18880.705 ## 774 T1 Paris 41601.54 13794.282 ## 775 T1 Paris 53332.77 26531.098 ## 776 T1 Paris 45135.11 16819.452 ## geom ## 771 MULTIPOLYGON (((652048.7 68... ## 772 MULTIPOLYGON (((652243.5 68... ## 773 MULTIPOLYGON (((653617.9 68... ## 774 MULTIPOLYGON (((653427.2 68... ## 775 MULTIPOLYGON (((653170.9 68... ## 776 MULTIPOLYGON (((651487.5 68... ``` --- ## Initialisation de l'analyse .pull-left[ ```r # Initialisation de l'analyse num <- which(colnames(com) == "P16_EMPLT") denom <- which(colnames(com) == "C16_ACTOCC1564") colnames(com)[c(num,denom)] <- c("num", "denom") # Retirer les valeurs égales à 0 com <- com[com$num != 0 & com$denom != 0,] # Calculer le ratio de référence com$ratio <- com$num / com$denom # Représentation cartographique mf_map(x = com, var = "ratio", type = "choro", breaks = "quantile", nbreaks = 4, border = "white", leg_title = paste0("Emploi au lieu de travail /\n", "Actifs occupés au lieu", "de résidence, 2016")) # EPCI mf_map(epci, col = NA, lwd = 1, add = TRUE) # Sources credits <- paste0("Sources : INSEE, IGN, 2021 / ", "Réalisation : R. Ysebaert, 2021") mf_layout(title = paste0("Ratio d'intérêt : concentration ", "d'emploi au lieu de travail", "dans la MGP"), credits = credits) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-6-1.png" style="display: block; margin: auto;" /> ] --- ## Déviation générale : écart à la moyenne de la MGP .pull-left[ ```r # Déviation générale com$gdevrel <- gdev(x = com, var1 = "num", var2 = "denom", type = "rel") # Palette de couleurs pour déviations(origine Color Brewer) devpal <- c("#4575B4", "#91BFDB", "#E0F3F8", "#FEE090", "#FC8D59", "#D73027") # Cartographie mf_map(x = com, var = "gdevrel", type = "choro", breaks = c(min(com$gdevrel), 75, 90, 100, 111, 133, max(com$gdevrel)), border = "white", pal = devpal, leg_title = paste0("Déviation au contexte général", "\n(100 = moyenne de la MGP)")) mf_map(epci, col = NA, lwd = 1, add = TRUE) mf_layout(title = "Déviation générale", credits = credits) # Labels mf_label(x = com[which.min(com$gdevrel),], var = "NOM_COM", halo = TRUE) mf_label(x = com[which.max(com$ratio),], var = "NOM_COM", halo = TRUE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-8-1.png" style="display: block; margin: auto;" /> ] --- ## Déviation territoriale : écart à l'EPCI d'appartenance .pull-left[ ```r # Déviation territoriale com$tdevrel <- tdev(x = com, var1 = "num", var2 = "denom", key = "LIB_EPCI_SUB") # Cartographie mf_map(x = com, var = "tdevrel", type = "choro", breaks = c(min(com$tdevrel), 75, 90, 100, 111, 133, max(com$tdevrel)), border = "white", pal = devpal, leg_title = paste0("Déviation au contexte territorial", "\n(100 = moyenne de l'EPCI", " d'appartenance")) mf_layout(title = "Déviation territoriale", credits = credits) # Extraction du maximum et du minimum par EPCI, puis affichage df.agg <- aggregate(tdevrel ~ LIB_EPCI_SUB, com, FUN = max) df.max <- merge(df.agg, com) df.max <- st_as_sf(df.max) df.agg <- aggregate(tdevrel ~ LIB_EPCI_SUB, com, FUN = min) df.min <- merge(df.agg, com) df.min <- st_as_sf(df.min) mf_label(x = df.max, var = "NOM_COM", halo = TRUE, col = "#8B1713") mf_label(x = df.min, var = "NOM_COM", halo = TRUE, col = "#135D89") ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-10-1.png" style="display: block; margin: auto;" /> ] --- ## Déviation spatiale : contigüité territoriale .pull-left[ ```r # Déviation spatiale com$sdevrel <- sdev(x = com, var1 = "num", var2 = "denom", order = 1) # Cartographie mf_map(x = com, var = "sdevrel", type = "choro", breaks = c(min(com$sdevrel), 75, 90, 100, 111, 133, max(com$sdevrel)), border = "white", pal = devpal, leg_title = paste0("Déviation au contexte territorial", "\n(100 = moyenne des communes", " contigües")) mf_layout(title = "Déviation spatiale", credits = credits, arrow = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-12-1.png" style="display: block; margin: auto;" /> ] --- ## Déviation spatiale : contigüité territoriale .pull-left[ ```r # Extraction des limites communales borders <- st_intersection(st_buffer(com, 5), st_buffer(com, 5)) borders <- st_cast(borders,"MULTILINESTRING") borders <- borders[borders$INSEE_COM != borders$INSEE_COM.1, ] # Calcul des discontinuités borders$disc <- pmax(borders$ratio/borders$ratio.1, borders$ratio.1/borders$ratio) # Ne conserver que les 25 % les plus importantes val <- as.numeric(quantile(borders$disc, probs = c(1 - 0.25))) borders <- borders[borders$disc >= val,] mf_map(x = borders, var = "disc", type = "prop", lwd_max = 20, border = "black", col = "black", leg_pos = "topleft", leg_title = paste0("Discontinuités relatives\n", "(max/min sur le ratio de référence)"), add = TRUE) # Extraire top 10 max/min df.max <- com[order(com$sdevrel, decreasing = TRUE), ] df.max <- df.max[1:10,] df.min <- com[order(com$sdevrel, decreasing = FALSE), ] df.min <- df.min[1:10,] mf_label(x = df.max, var = "NOM_COM", halo = TRUE, col = "#8B1713") mf_label(x = df.min, var = "NOM_COM", halo = TRUE, col = "#135D89") ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-14-1.png" style="display: block; margin: auto;" /> ] --- ## Redistributions ? .pull-left[ ```r # Déviation générale com$gdevabs <- gdev(x = com, var1 = "num", var2 = "denom", type = "abs") # Sens des déviationS com$gdevsign <- ifelse(com$gdevabs > 0, "Excédent d'emplois", "Déficit d'emplois") # Cartographie mf_map(epci, col = "peachpuff", border = "black", lwd = 1) mf_map(x = com, var = c("gdevabs", "gdevsign"), type = "prop_typo", pal = c("#F6533A","#515FAA"), inches = 0.2, val_order = c("Excédent d'emplois", "Déficit d'emplois"), val_max = max(abs(com$gdevabs)), leg_val_rnd = -2, leg_pos = c("topleft","bottomleft"), border = "white", leg_title = c("Sens de la redistribution", paste0("Emplois à redistribuer pour atteindre", " l'équilibre"))) mf_layout(title = "Redistributions, déviation générale", credits = credits, arrow = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-16-1.png" style="display: block; margin: auto;" /> ] --- ## Redistributions ? Communes excédentaires d'emploi ```r # Déviation générale - top 10 des contributeurs... df <- st_set_geometry(com, NULL) # ... Au regard de leur masse de numérateur df$gdevabsPerc <- df$gdevabs / df$num * 100 df <- df[order(df$gdevabsPerc, decreasing = TRUE), ] df[1:10, c("INSEE_COM", "NOM_COM", "LIB_EPCI_SUB", "num", "gdevabs", "gdevabsPerc")] ``` <template id="1849b1ea-7de8-4eba-bbb7-f334ba64b07f"><style> .tabwid table{ border-spacing:0px !important; border-collapse:collapse; line-height:1; margin-left:auto; margin-right:auto; border-width: 0; display: table; margin-top: 1.275em; margin-bottom: 1.275em; border-color: transparent; } .tabwid_left table{ margin-left:0; } .tabwid_right table{ margin-right:0; } .tabwid td { padding: 0; } .tabwid a { text-decoration: none; } .tabwid thead { background-color: transparent; } .tabwid tfoot { background-color: transparent; } .tabwid table tr { background-color: transparent; } </style><div class="tabwid"><style>.cl-7ccfe2c8{}.cl-7cc7575c{font-family:'Arial';font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-7cc7575d{font-family:'Arial';font-size:9pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-7cc7575e{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-7cc7575f{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-7cc7a57c{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a57d{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a57e{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a57f{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a580{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a581{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a582{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a583{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a584{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a585{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7a586{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc8c{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc8d{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc8e{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc8f{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc90{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc91{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc92{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc93{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc94{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc95{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7cc96{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f39c{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f39d{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f39e{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f39f{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f3a0{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f3a1{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f3a2{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f3a3{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f3a4{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f3a5{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc7f3a6{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc81ab6{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-7cc81ab7{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-7ccfe2c8'><thead><tr style="overflow-wrap:break-word;"><td class="cl-7cc7f3a6"><p class="cl-7cc7575e"><span class="cl-7cc7575c">INSEE_COM</span></p></td><td class="cl-7cc7f3a4"><p class="cl-7cc7575e"><span class="cl-7cc7575c">NOM_COM</span></p></td><td class="cl-7cc81ab6"><p class="cl-7cc7575e"><span class="cl-7cc7575c">LIB_EPCI_SUB</span></p></td><td class="cl-7cc81ab7"><p class="cl-7cc7575f"><span class="cl-7cc7575c">num</span></p></td><td class="cl-7cc81ab7"><p class="cl-7cc7575f"><span class="cl-7cc7575c">gdevabs</span></p></td><td class="cl-7cc7f3a5"><p class="cl-7cc7575f"><span class="cl-7cc7575c">gdevabsPerc</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-7cc7a57c"><p class="cl-7cc7575e"><span class="cl-7cc7575d">75108</span></p></td><td class="cl-7cc7a57d"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris 8e Arrondissement</span></p></td><td class="cl-7cc7a580"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris</span></p></td><td class="cl-7cc7a57f"><p class="cl-7cc7575f"><span class="cl-7cc7575d">174253.6</span></p></td><td class="cl-7cc7a57f"><p class="cl-7cc7575f"><span class="cl-7cc7575d">152539.9</span></p></td><td class="cl-7cc7a57e"><p class="cl-7cc7575f"><span class="cl-7cc7575d">87.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-7cc7a586"><p class="cl-7cc7575e"><span class="cl-7cc7575d">94065</span></p></td><td class="cl-7cc7cc8e"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Rungis</span></p></td><td class="cl-7cc7cc8d"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Grand-Orly Seine Bièvre</span></p></td><td class="cl-7cc7cc8f"><p class="cl-7cc7575f"><span class="cl-7cc7575d">27219.4</span></p></td><td class="cl-7cc7cc8f"><p class="cl-7cc7575f"><span class="cl-7cc7575d">23732.8</span></p></td><td class="cl-7cc7cc8c"><p class="cl-7cc7575f"><span class="cl-7cc7575d">87.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-7cc7cc92"><p class="cl-7cc7575e"><span class="cl-7cc7575d">75101</span></p></td><td class="cl-7cc7cc90"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris 1er Arrondissement</span></p></td><td class="cl-7cc7cc94"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris</span></p></td><td class="cl-7cc7cc91"><p class="cl-7cc7575f"><span class="cl-7cc7575d">61213.9</span></p></td><td class="cl-7cc7cc91"><p class="cl-7cc7575f"><span class="cl-7cc7575d">51094.7</span></p></td><td class="cl-7cc7cc93"><p class="cl-7cc7575f"><span class="cl-7cc7575d">83.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-7cc7cc92"><p class="cl-7cc7575e"><span class="cl-7cc7575d">75102</span></p></td><td class="cl-7cc7cc90"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris 2e Arrondissement</span></p></td><td class="cl-7cc7cc94"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris</span></p></td><td class="cl-7cc7cc91"><p class="cl-7cc7575f"><span class="cl-7cc7575d">61153.0</span></p></td><td class="cl-7cc7cc91"><p class="cl-7cc7575f"><span class="cl-7cc7575d">46147.7</span></p></td><td class="cl-7cc7cc93"><p class="cl-7cc7575f"><span class="cl-7cc7575d">75.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-7cc7cc96"><p class="cl-7cc7575e"><span class="cl-7cc7575d">75109</span></p></td><td class="cl-7cc7f39d"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris 9e Arrondissement</span></p></td><td class="cl-7cc7cc95"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris</span></p></td><td class="cl-7cc7f39e"><p class="cl-7cc7575f"><span class="cl-7cc7575d">117151.8</span></p></td><td class="cl-7cc7f39e"><p class="cl-7cc7575f"><span class="cl-7cc7575d">76427.5</span></p></td><td class="cl-7cc7f39c"><p class="cl-7cc7575f"><span class="cl-7cc7575d">65.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-7cc7f3a3"><p class="cl-7cc7575e"><span class="cl-7cc7575d">92062</span></p></td><td class="cl-7cc7f3a1"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Puteaux</span></p></td><td class="cl-7cc7f3a2"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris Ouest - La Défense</span></p></td><td class="cl-7cc7f39f"><p class="cl-7cc7575f"><span class="cl-7cc7575d">77080.0</span></p></td><td class="cl-7cc7f39f"><p class="cl-7cc7575f"><span class="cl-7cc7575d">48745.2</span></p></td><td class="cl-7cc7f3a0"><p class="cl-7cc7575f"><span class="cl-7cc7575d">63.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-7cc7cc92"><p class="cl-7cc7575e"><span class="cl-7cc7575d">75107</span></p></td><td class="cl-7cc7cc90"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris 7e Arrondissement</span></p></td><td class="cl-7cc7cc94"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris</span></p></td><td class="cl-7cc7cc91"><p class="cl-7cc7575f"><span class="cl-7cc7575d">70762.4</span></p></td><td class="cl-7cc7cc91"><p class="cl-7cc7575f"><span class="cl-7cc7575d">41392.7</span></p></td><td class="cl-7cc7cc93"><p class="cl-7cc7575f"><span class="cl-7cc7575d">58.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-7cc7cc96"><p class="cl-7cc7575e"><span class="cl-7cc7575d">75104</span></p></td><td class="cl-7cc7f39d"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris 4e Arrondissement</span></p></td><td class="cl-7cc7cc95"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris</span></p></td><td class="cl-7cc7f39e"><p class="cl-7cc7575f"><span class="cl-7cc7575d">41601.5</span></p></td><td class="cl-7cc7f39e"><p class="cl-7cc7575f"><span class="cl-7cc7575d">24286.0</span></p></td><td class="cl-7cc7f39c"><p class="cl-7cc7575f"><span class="cl-7cc7575d">58.4</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-7cc7cc92"><p class="cl-7cc7575e"><span class="cl-7cc7575d">75106</span></p></td><td class="cl-7cc7cc90"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris 6e Arrondissement</span></p></td><td class="cl-7cc7cc94"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Paris</span></p></td><td class="cl-7cc7cc91"><p class="cl-7cc7575f"><span class="cl-7cc7575d">45135.1</span></p></td><td class="cl-7cc7cc91"><p class="cl-7cc7575f"><span class="cl-7cc7575d">24022.2</span></p></td><td class="cl-7cc7cc93"><p class="cl-7cc7575f"><span class="cl-7cc7575d">53.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-7cc7a581"><p class="cl-7cc7575e"><span class="cl-7cc7575d">94054</span></p></td><td class="cl-7cc7a582"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Orly</span></p></td><td class="cl-7cc7a585"><p class="cl-7cc7575e"><span class="cl-7cc7575d">Grand-Orly Seine Bièvre</span></p></td><td class="cl-7cc7a584"><p class="cl-7cc7575f"><span class="cl-7cc7575d">22609.1</span></p></td><td class="cl-7cc7a584"><p class="cl-7cc7575f"><span class="cl-7cc7575d">11288.7</span></p></td><td class="cl-7cc7a583"><p class="cl-7cc7575f"><span class="cl-7cc7575d">49.9</span></p></td></tr></tbody></table></div></template> <div class="flextable-shadow-host" id="c38ddc37-1ded-44c2-8501-f5a6a22bc29b"></div> <script> var dest = document.getElementById("c38ddc37-1ded-44c2-8501-f5a6a22bc29b"); var template = document.getElementById("1849b1ea-7de8-4eba-bbb7-f334ba64b07f"); var caption = template.content.querySelector("caption"); if(caption) { caption.style.cssText = "display:block;text-align:center;"; var newcapt = document.createElement("p"); newcapt.appendChild(caption) dest.parentNode.insertBefore(newcapt, dest.previousSibling); } var fantome = dest.attachShadow({mode: 'open'}); var templateContent = template.content; fantome.appendChild(templateContent); </script> --- ## Redistributions ? Communes déficitaires d'emploi ```r # Déviation générale - top 10 des contributeurs... df <- st_set_geometry(com, NULL) # ... Au regard de leur masse de numérateur df$gdevabsPerc <- df$gdevabs / df$num * 100 df <- df[order(df$gdevabsPerc, decreasing = FALSE), ] df[1:10, c("INSEE_COM", "NOM_COM", "LIB_EPCI_SUB", "num", "gdevabs", "gdevabsPerc")] ``` <template id="ec02252d-767d-44d7-9cdc-ad34ad066512"><style> .tabwid table{ border-spacing:0px !important; border-collapse:collapse; line-height:1; margin-left:auto; margin-right:auto; border-width: 0; display: table; margin-top: 1.275em; margin-bottom: 1.275em; border-color: transparent; } .tabwid_left table{ margin-left:0; } .tabwid_right table{ margin-right:0; } .tabwid td { padding: 0; } .tabwid a { text-decoration: none; } .tabwid thead { background-color: transparent; } .tabwid tfoot { background-color: transparent; } .tabwid table tr { background-color: transparent; } </style><div class="tabwid"><style>.cl-e3bebde2{}.cl-e3b54956{font-family:'Arial';font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-e3b54957{font-family:'Arial';font-size:9pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-e3b57052{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-e3b57053{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-e3b5be68{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be69{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be6a{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be6b{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be6c{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be6d{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be6e{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be6f{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be70{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be71{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5be72{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e582{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e583{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e584{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e585{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e586{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e587{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e588{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e589{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e58a{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e58b{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b5e58c{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c92{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c93{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c94{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c95{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c96{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c97{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c98{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c99{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c9a{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c9b{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b60c9c{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633a2{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633a3{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633a4{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633a5{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633a6{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633a7{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633a8{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633a9{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633aa{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633ab{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b633ac{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b65ab2{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b65ab3{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b65ab4{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-e3b65ab5{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-e3bebde2'><thead><tr style="overflow-wrap:break-word;"><td class="cl-e3b65ab2"><p class="cl-e3b57052"><span class="cl-e3b54956">INSEE_COM</span></p></td><td class="cl-e3b633ab"><p class="cl-e3b57052"><span class="cl-e3b54956">NOM_COM</span></p></td><td class="cl-e3b65ab3"><p class="cl-e3b57052"><span class="cl-e3b54956">LIB_EPCI_SUB</span></p></td><td class="cl-e3b65ab4"><p class="cl-e3b57053"><span class="cl-e3b54956">num</span></p></td><td class="cl-e3b65ab5"><p class="cl-e3b57053"><span class="cl-e3b54956">gdevabs</span></p></td><td class="cl-e3b633ac"><p class="cl-e3b57053"><span class="cl-e3b54956">gdevabsPerc</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-e3b5be68"><p class="cl-e3b57052"><span class="cl-e3b54957">94001</span></p></td><td class="cl-e3b5be69"><p class="cl-e3b57052"><span class="cl-e3b54957">Ablon-sur-Seine</span></p></td><td class="cl-e3b5be6c"><p class="cl-e3b57052"><span class="cl-e3b54957">Grand-Orly Seine Bièvre</span></p></td><td class="cl-e3b5be6b"><p class="cl-e3b57053"><span class="cl-e3b54957">650.9</span></p></td><td class="cl-e3b5be6d"><p class="cl-e3b57053"><span class="cl-e3b54957">-2465.9</span></p></td><td class="cl-e3b5be6a"><p class="cl-e3b57053"><span class="cl-e3b54957">-378.8</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-e3b5e583"><p class="cl-e3b57052"><span class="cl-e3b54957">94056</span></p></td><td class="cl-e3b5e586"><p class="cl-e3b57052"><span class="cl-e3b54957">Périgny</span></p></td><td class="cl-e3b5e585"><p class="cl-e3b57052"><span class="cl-e3b54957">Grand Paris Sud Est Avenir</span></p></td><td class="cl-e3b5e588"><p class="cl-e3b57053"><span class="cl-e3b54957">366.4</span></p></td><td class="cl-e3b5e587"><p class="cl-e3b57053"><span class="cl-e3b54957">-1359.6</span></p></td><td class="cl-e3b5e584"><p class="cl-e3b57053"><span class="cl-e3b54957">-371.1</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-e3b5e58b"><p class="cl-e3b57052"><span class="cl-e3b54957">94053</span></p></td><td class="cl-e3b5e589"><p class="cl-e3b57052"><span class="cl-e3b54957">Noiseau</span></p></td><td class="cl-e3b60c93"><p class="cl-e3b57052"><span class="cl-e3b54957">Grand Paris Sud Est Avenir</span></p></td><td class="cl-e3b5e58a"><p class="cl-e3b57053"><span class="cl-e3b54957">681.9</span></p></td><td class="cl-e3b60c92"><p class="cl-e3b57053"><span class="cl-e3b54957">-2032.5</span></p></td><td class="cl-e3b5e58c"><p class="cl-e3b57053"><span class="cl-e3b54957">-298.0</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-e3b5e58b"><p class="cl-e3b57052"><span class="cl-e3b54957">93015</span></p></td><td class="cl-e3b5e589"><p class="cl-e3b57052"><span class="cl-e3b54957">Coubron</span></p></td><td class="cl-e3b60c93"><p class="cl-e3b57052"><span class="cl-e3b54957">Grand Paris Grand Est</span></p></td><td class="cl-e3b5e58a"><p class="cl-e3b57053"><span class="cl-e3b54957">692.5</span></p></td><td class="cl-e3b60c92"><p class="cl-e3b57053"><span class="cl-e3b54957">-2039.1</span></p></td><td class="cl-e3b5e58c"><p class="cl-e3b57053"><span class="cl-e3b54957">-294.4</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-e3b60c95"><p class="cl-e3b57052"><span class="cl-e3b54957">93033</span></p></td><td class="cl-e3b60c97"><p class="cl-e3b57052"><span class="cl-e3b54957">Gournay-sur-Marne</span></p></td><td class="cl-e3b60c94"><p class="cl-e3b57052"><span class="cl-e3b54957">Grand Paris Grand Est</span></p></td><td class="cl-e3b60c98"><p class="cl-e3b57053"><span class="cl-e3b54957">1000.3</span></p></td><td class="cl-e3b60c99"><p class="cl-e3b57053"><span class="cl-e3b54957">-2925.3</span></p></td><td class="cl-e3b60c96"><p class="cl-e3b57053"><span class="cl-e3b54957">-292.4</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-e3b60c95"><p class="cl-e3b57052"><span class="cl-e3b54957">93032</span></p></td><td class="cl-e3b60c97"><p class="cl-e3b57052"><span class="cl-e3b54957">Gagny</span></p></td><td class="cl-e3b60c94"><p class="cl-e3b57052"><span class="cl-e3b54957">Grand Paris Grand Est</span></p></td><td class="cl-e3b60c98"><p class="cl-e3b57053"><span class="cl-e3b54957">5458.2</span></p></td><td class="cl-e3b60c99"><p class="cl-e3b57053"><span class="cl-e3b54957">-15304.2</span></p></td><td class="cl-e3b60c96"><p class="cl-e3b57053"><span class="cl-e3b54957">-280.4</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-e3b5e58b"><p class="cl-e3b57052"><span class="cl-e3b54957">94059</span></p></td><td class="cl-e3b5e589"><p class="cl-e3b57052"><span class="cl-e3b54957">Le Plessis-Trévise</span></p></td><td class="cl-e3b60c93"><p class="cl-e3b57052"><span class="cl-e3b54957">Grand Paris Sud Est Avenir</span></p></td><td class="cl-e3b5e58a"><p class="cl-e3b57053"><span class="cl-e3b54957">3030.1</span></p></td><td class="cl-e3b60c92"><p class="cl-e3b57053"><span class="cl-e3b54957">-8288.1</span></p></td><td class="cl-e3b5e58c"><p class="cl-e3b57053"><span class="cl-e3b54957">-273.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-e3b60c9a"><p class="cl-e3b57052"><span class="cl-e3b54957">94058</span></p></td><td class="cl-e3b60c9b"><p class="cl-e3b57052"><span class="cl-e3b54957">Le Perreux-sur-Marne</span></p></td><td class="cl-e3b60c9c"><p class="cl-e3b57052"><span class="cl-e3b54957">Paris Est Marne et Bois</span></p></td><td class="cl-e3b633a3"><p class="cl-e3b57053"><span class="cl-e3b54957">5718.4</span></p></td><td class="cl-e3b633a2"><p class="cl-e3b57053"><span class="cl-e3b54957">-14076.5</span></p></td><td class="cl-e3b633a4"><p class="cl-e3b57053"><span class="cl-e3b54957">-246.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-e3b633a6"><p class="cl-e3b57052"><span class="cl-e3b54957">92022</span></p></td><td class="cl-e3b633a5"><p class="cl-e3b57052"><span class="cl-e3b54957">Chaville</span></p></td><td class="cl-e3b633a8"><p class="cl-e3b57052"><span class="cl-e3b54957">Grand Paris Seine Ouest</span></p></td><td class="cl-e3b633a9"><p class="cl-e3b57053"><span class="cl-e3b54957">3619.7</span></p></td><td class="cl-e3b633aa"><p class="cl-e3b57053"><span class="cl-e3b54957">-8661.0</span></p></td><td class="cl-e3b633a7"><p class="cl-e3b57053"><span class="cl-e3b54957">-239.3</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-e3b5be6e"><p class="cl-e3b57052"><span class="cl-e3b54957">91589</span></p></td><td class="cl-e3b5be6f"><p class="cl-e3b57052"><span class="cl-e3b54957">Savigny-sur-Orge</span></p></td><td class="cl-e3b5be72"><p class="cl-e3b57052"><span class="cl-e3b54957">Grand-Orly Seine Bièvre</span></p></td><td class="cl-e3b5e582"><p class="cl-e3b57053"><span class="cl-e3b54957">6081.4</span></p></td><td class="cl-e3b5be71"><p class="cl-e3b57053"><span class="cl-e3b54957">-14382.3</span></p></td><td class="cl-e3b5be70"><p class="cl-e3b57053"><span class="cl-e3b54957">-236.5</span></p></td></tr></tbody></table></div></template> <div class="flextable-shadow-host" id="73b4509f-99c9-44dd-a176-5fd7fb473344"></div> <script> var dest = document.getElementById("73b4509f-99c9-44dd-a176-5fd7fb473344"); var template = document.getElementById("ec02252d-767d-44d7-9cdc-ad34ad066512"); var caption = template.content.querySelector("caption"); if(caption) { caption.style.cssText = "display:block;text-align:center;"; var newcapt = document.createElement("p"); newcapt.appendChild(caption) dest.parentNode.insertBefore(newcapt, dest.previousSibling); } var fantome = dest.attachShadow({mode: 'open'}); var templateContent = template.content; fantome.appendChild(templateContent); </script> --- ## Synthèse multiscalaire : Communes excédentaires .pull-left[ ```r # Calcul typologie de synthèse mst <- map_mst(x = com, gdevrel = "gdevrel", tdevrel = "tdevrel", sdevrel = "sdevrel", threshold = 150, superior = TRUE) # Extraction de la liste com <- mst$geom cols <- mst$cols leg_val <- mst$leg_val # Cartographie mf_map(x = com, var = "mst", type = "typo", border = "white", lwd = 0.2, pal = cols, val_order = unique(com$mst), leg_pos = "n") mf_map(epci, col = NA, lwd = 1, add = TRUE) mf_legend(type = "typo", pos = "topleft", val = leg_val, pal = cols, title = paste0("Pour le contexte général (G)\n", "et-ou territorial (T)\n", "et-ou spatial (S)")) mf_layout(title = paste0("Synthèse multiscalaire" , "(deviations + 50 % au-dessus", "de la moyenne"), credits = credits, arrow = FALSE) # Ajouter des labels pour mst = 7 mf_label(x = com[com$mst == 7,], var = "NOM_COM", halo = TRUE, overlap = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-22-1.png" style="display: block; margin: auto;" /> ] --- ## Synthèse multiscalaire : Communes excédentaires (contradictions) .pull-left[ ```r # Calcul typologie de synthèse mst <- map_mst(x = com, gdevrel = "gdevrel", tdevrel = "tdevrel", sdevrel = "sdevrel", threshold = 150, superior = TRUE) # Extraction de la liste com <- mst$geom cols <- mst$cols leg_val <- mst$leg_val # Cartographie mf_map(x = com, var = "mst", type = "typo", border = "white", lwd = 0.2, pal = cols, val_order = unique(com$mst), leg_pos = "n") mf_map(epci, col = NA, lwd = 1, add = TRUE) mf_legend(type = "typo", pos = "topleft", val = leg_val, pal = cols, title = paste0("Pour le contexte général (G)\n", "et-ou territorial (T)\n", "et-ou spatial (S)")) mf_layout(title = paste0("Synthèse multiscalaire" , "(deviations + 50 % au-dessus", "de la moyenne"), credits = credits, arrow = FALSE) # Ajouter des labels pour mst = 6 mf_label(x = com[com$mst == 6,], var = "NOM_COM", halo = TRUE, overlap = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-24-1.png" style="display: block; margin: auto;" /> ] --- ## Synthèse multiscalaire : Communes déficitaires .pull-left[ ```r # Calcul typologie de synthèse mst <- map_mst(x = com, gdevrel = "gdevrel", tdevrel = "tdevrel", sdevrel = "sdevrel", threshold = 50, superior = FALSE) # Extraction de la liste com <- mst$geom cols <- mst$cols leg_val <- mst$leg_val # Cartographie mf_map(x = com, var = "mst", type = "typo", border = "white", lwd = 0.2, pal = cols, val_order = unique(com$mst), leg_pos = "n") mf_map(epci, col = NA, lwd = 1, add = TRUE) mf_legend(type = "typo", pos = "topleft", val = leg_val, pal = cols, title = paste0("Pour le contexte général (G)\n", "et-ou territorial (T)\n", "et-ou spatial (S)")) mf_layout(title = paste0("Synthèse multiscalaire" , "(deviations + 50 % au-dessus", "de la moyenne"), credits = credits, arrow = FALSE) # Ajouter des labels pour mst = 7 mf_label(x = com[com$mst == 7,], var = "NOM_COM", halo = TRUE, overlap = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-26-1.png" style="display: block; margin: auto;" /> ] --- ## Comparaison territoriale ```r plot_mst(x = com, gdevrel = "gdevrel", tdevrel = "tdevrel", sdevrel = "sdevrel", lib.var = "NOM_COM", cex.names = .6, lib.val = c("Épinay-sur-Seine", "Pierrefitte-sur-Seine", "L'Île-Saint-Denis", "Le Pré-Saint-Gervais", "Ablon-sur-Seine", "Ville-d'Avray", "Périgny"), legend.lab = paste0("G = Métropole du Grand Paris, T = EPCI d'appartenance,", "S : Communes contigües (100 = moyenne du contexte)")) ``` <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-27-1.png" style="display: block; margin: auto;" /> --- ## Autres fonctions disponibles .pull-left[ .medium[ - **`bidev`** : Typologie de synthèse sur 2 déviations (vecteur). - **`map_bidev`** : Typologie de synthèse sur 2 déviations (vecteur + couleurs utiles à la cartographie des résultats) - **`plot_bidev`** : Graphique en diamant pour visualiser les résultats - **`mst`** : Typologie de synthèse sur 3 déviations (vecteur). ] ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-28-1.png" style="display: block; margin: auto;" /> ] --- ## Pour l'histoire complète... .center[ Consultez la fiche [Rzine](https://rysebaert.github.io/mta_rzine) qui développe complètement l'analyse ! ] .pull-left[ <img src="data:image/png;base64,#figures/rzine1.PNG" width="500" /> ] .pull-right[ <img src="data:image/png;base64,#figures/rzine2.PNG" width="500" /> ] --- ## Retour utilisateur / questions Postez des issues dans le [dépôt GitHub](https://github.com/riatelab/MTA/issues) du package ! .center[ <img src="data:image/png;base64,#figures/issues.PNG" width="1000" /> ] --- <br><br><br> .center[ # Merci ! <br><br> .medium[ Présentation réalisée avec [xaringan](https://github.com/yihui/xaringan), [R Markdown](https://rmarkdown.rstudio.com/) et une adaptation du thème [css rutgers](https://github.com/jvcasillas/ru_xaringan) Contenu et mise en forme s'inspirant de [@oliviergimenez](https://github.com/oliviergimenez), [State of the R](https://stateofther.github.io/), [R Views](https://rviews.rstudio.com/2018/03/08/cran-package-metadata/) et l'ensemble de la documentation associée à R Markdown. ] ] <br><br><br><br> .left[ .small[ | | | | :--------------------------------------------------------------------------------------------------------- | :-------------------------------- | | <svg viewBox="0 0 512 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"></path></svg> | [ronan.ysebaert@cnrs.fr](mailto:ronan.ysebaert@cnrs.fr) | | <svg viewBox="0 0 576 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"></path></svg> | [riate.cnrs.fr/](https://riate.cnrs.fr/) | | <svg viewBox="0 0 512 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z"></path></svg> | [gitlab.huma-num.fr/rysebaert](https://gitlab.huma-num.fr/rysebaert) | | <svg viewBox="0 0 496 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg> | [@rysebaert](https://github.com/rysebaert) | | <svg viewBox="0 0 384 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z"></path></svg> | [https://github.com/rysebaert/mta_geoteca](https://github.com/rysebaert/mta_geoteca) ]]